﻿using System.Web;
using Summer.Object;

#region License
/*
 *  Copyright (c) Dumuzi.cn 2009 , All rights reserved.
 *  CLR Version: 2.0.50727.4927
 *  NameSpace: Summer.Web.Support
 *  Author:Edwin Tai,戴佳顺
 *  Msn:edwin19861218@hotmail.com
 *  QQ: 1961218
 *  Date:2009/10/30 14:36:10
 *  Licensed under the Microsoft Public License (Ms-PL)
 *  This license governs use of the accompanying software. 
 *  If you use the software, you accept this license.
 *  If you do not accept the license, do not use the software.
 */
#endregion

namespace Summer.Web.Support
{
    /// <summary>
    /// Base container to load private container of ioc,etc.
    /// </summary>
    public abstract class ExtensibleHttpApplicationContainer : HttpApplication,
        IExtensibleContainer<IExtensionObject<HttpApplication>>
    {
        private IExtensionCollection<IExtensionObject<HttpApplication>> _extensions;

        public ExtensibleHttpApplicationContainer()
        {
            this._extensions = new ExtensionCollection<IExtensionObject<HttpApplication>, HttpApplication>(this);
        }
        /// <summary>
        /// Get the obj collection
        /// </summary>
        public IExtensionCollection<IExtensionObject<HttpApplication>> Extensions
        {
            get
            {
                return this._extensions;
            }
        }
    }
}
